E-mail is an effective form of communication; however, is a very desirable target for advertising. Accordingly, the prevalence of Spam, or unwanted e-mail, has significantly increased over e-mail systems. This has led to spam filters which filter out the spam, but have a side effect of filtering out other e-mails which may not be spam. This has led many to believe that e-mail, as a medium, is itself flawed.
It is very difficult to effectively block e-mail from spammers based on characteristics of the email. Spammers use heuristic techniques to avoid the Spam filters. Even if the Spam is filtered, this typically only prevents the spam from reaching the user's mailbox. The sheer amount of Spam may overwhelm an email server.
The process of sending a text message from a sender to a recipient is well established. The process of conventional e-mail is defined by a number of different interacting protocols and servers.
In conventional e-mail, a personal computer 100 runs an e-mail client 102. Well-known e-mail clients include Microsoft outlook and Outlook express. The e-mail client may be a standalone client, or may be a modified e-mail client running within a web page such as “Hotmail”. The e-mail client lists the messages in the user's mailbox by headers, and allows the user to select and read the e-mail that is associated with that header. An e-mail client also allows creation of new messages and sending of the new messages.
The e-mail client communicates with an e-mail server 120 at the user's local Internet Service provider, here shown as “domain” 99, in order to send and receive messages over the Internet 110 or more generally over any network connection. The server receives e-mail messages from a client 102, and forms a list of those messages. The server 120 typically includes a processor or computer of some type, running the special email programs that are described herein.
The mechanics of the e-mail system operate by using three different protocols, known as SMTP, POP3 and IMAP. The SMTP server listens on port 25 to receive its emails. In order to send an e-mail, the e-mail client 102 interacts with the SMTP server 130 at the domain 99.
If the message is for another mailbox within the same domain, then the SMTP server 130 sends the message to the local POP3 server 140. The POP3 server 140 handles delivery of local messages to the local mailboxes, such as 145. This mailbox is really a queue that is formed to provide the message to some other email client, when that client logs in to the POP3 server 140.
If the message is intended for another domain, the SMTP server communicates with a domain name server or DNS 135. The DNS stores a database, which is updated from the Internet, that stores the IP address for all domains. The DNS provides the IP address to the SMTP 130.
In order to streamline all the operations, software called a “picker” often operates to look at messages stored on the SMTP server's hard drive, and carries out the mechanics of analyzing the message headers for destination, communicating with the DNS, and looking for an available port for the SMTP server on the desired domain.
Once this is completed, the SMTP server 130 sends the message using the IP address that it obtained from the DNS server 135, to another server 150 at another domain 149. The SMTP server 130 communicates with the corresponding SMTP server 155 at domain 149. The message is transferred to the SMTP server 155 at domain 149. Since SMTP server 155 recognizes that the message is for a local mailbox, it provides the message to its local POP3 server 160, which queues the message to a local mailbox 165.
The program for sending mail is often an open-source program known as Sendmail™ which also includes the ability to queue messages which cannot be sent immediately.
In order to receive local mail, the e-mail client 102 communicates with the POP3 server 140 in its local domain 120. The POP3 server maintains a collection of text files, one for each e-mail that has been sent or received. Each time a new e-mail is received, it adds that e-mail to its recipient file, or mailbox. The POP3 server provides the e-mail client 102 with contents of its mailbox, and then deletes them.
An IMAP server may be used in addition to or in place of POP3. IMAP allows the e-mail into folders which stay on the server.
For a large e-mail server, there may be many pickers operating at once, e.g. 50 to 100 pickers. Each of these pickers are obtaining information from the SMTP server's hard drive, moving messages one at a time from the hard drive. Data throughput limitations are often caused by this operation.
A spam filter may operate anywhere within the chain shown above, but most often runs between the email client and the POP3 server that holds the emails for the email client. This means that all the spam emails must be received by the SMTP server, and by the POP3 server and handled, processed, and stored.